<?php
class TDataTableRelatorioContrato extends TDataTable
{    
    /**
     * Construtor
     * @param $operador
     * @param $options
     */
    public function __construct( $operador = NULL,$pfcid = NULL, $options = NULL)
    {
        $operador = (is_null($operador)) ? $_SESSION['usuario'] :  $operador;    
        $model = new ViewContratos();
        $key = 'contratoid';
        $criterio = array();
        $columns = array();
        
        if ( $options == NULL ) {
            $options = array();
        }                      
        
        $contratoids = $operador->listarContratosSQL();
        
        $criterio['precondicao'] = '';
        
        if ($contratoids) {
            $criterio['precondicao'] .= 'contratoid IN (' . $contratoids . ')';
        }
        
        $colunas = array();
		$filtersCombo = array();
		
		if ( $pfcid == PerfilComportamental::Empresa ) {
		    
		    $criterio['precondicao'] .= ' AND (' .  
		    							'statusid = ' . Status::Contrato_CadastroConfirmado . ' OR ' . 
		                                'statusid = ' . Status::Contrato_RescisaoEncaminhada .  
		                                ')';
		    
		    $colunas[] = array('header'=> 'id','name'=>'contratoid');
    		$colunas[] = 'orgao';
    		$colunas[] = array('header' => 'Nº ORGAO', 'name' => 'numerocontratoorgao');
    		$colunas[] = array('header'=> 'tipo','name'=>'tipocontrato');
    		$colunas[] = array('header'=> 'nº aditivo','name'=>'numeroaditivo');
    		
    	} else {
		    
		    $colunas[] = array('header'=> 'id','name'=>'contratoid');
    		$colunas[] = 'orgao';
    		$colunas[] = array('header' => 'Nº ORGAO', 'name' => 'numerocontratoorgao');
    		//$colunas[] = array('header'=> 'tipo','name'=>'tipocontrato');
    		$colunas[] = array('header'=> 'nº aditivo','name'=>'numeroaditivo');
    		$colunas[] = 'empresa';
    		$colunas[] = 'status';
    		
    	}
    	
    	$filtersCombo = array('empresa', 'orgao','tipocontrato', 'aditivo','ativo','status' );
		
        $criterio['orderBy'] = 'numerocontratoorgao, orgao, aditivo, numeroaditivo,
            contratoid';

        parent::__construct($model, $key, $criterio, $options, $columns);
        
        $this->addColumnsData( $colunas );
        $this->addFiltersCombo( $filtersCombo );
        
    }    
}